/*
 * @Author: xiehangyun 
 * @Date: 2025-05-10 21:05:36 
 * @Last Modified by: xiaosihan
 * @Last Modified time: 2025-08-13 10:24:12
 */

.shoppingCart {
    background-color: #F2F2F2;
    font-size: 24rpx;
    color: #333;
    // background: linear-gradient(180deg, rgb(252, 198, 201) 0%, #ffffff 50%, #ffffff 100%);
    word-wrap: break-word;
    text-align: justify;
    min-height: 100vh;
    box-sizing: border-box;
    position: relative;

    padding-top: 260rpx;
    padding-left: 20rpx;
    padding-right: 20rpx;
    padding-bottom: calc(env(safe-area-inset-bottom) + 220rpx);
    // overflow: hidden;

    .navBar {
        margin: 0px;

        .titleText {
            font-size: 32rpx;
            font-weight: bold;
            color: #000000;
            margin-left: 20rpx;
        }

        .manager {
            font-size: 30rpx;
            color: #999999;
            padding: 20rpx;
        }
    }


    /* Firefox */
    .swiper {
        :global(.nut-indicator-dot) {
            background-color: #fff;
        }

        :global(.nut-indicator-active) {
            background-color: #fff;
        }

    }

    :global(.nut-virtuallist-item) {
        overflow: visible;
    }
}

.goodsList {
    text-align: center;
    // height: calc(100vh - 540rpx);
    // background-color: aquamarine;

    .cartItem {
        background-color: #ffffff;
        align-items: center;
        padding: 20rpx 20rpx 20rpx 20rpx;
        margin: 20rpx;
        border-radius: 34rpx;
        box-sizing: border-box;
        position: relative;
        overflow: visible;
        width: calc(100% - 40rpx);
        // height: 320rpx;

        &.expiredItem {
            opacity: 0.6;
            filter: grayscale(80%);
            position: relative;

        }

        .expiredTag {
            position: absolute;
            top: 10px;
            right: 10px;
            background: #ff4d4f;
            color: white;
            padding: 2px 8px;
            border-radius: 4px;
            font-size: 12px;
            z-index: 1;
        }

        .popover {
            opacity: 0;
            pointer-events: none;

            &.show {
                opacity: 1;
                pointer-events: all;
            }

            :global(.nut-popover-content) {
                top: 10rpx;
            }


        }

        .more {
            position: absolute;
            top: 20rpx;
            right: 40rpx;
        }

        .itemImage {
            width: 132rpx;
            height: 132rpx;
            margin-right: 26rpx;
            margin-top: 10rpx;
        }

        .perImg {
            position: absolute;
            top: 0rpx;
            left: 140rpx;
            width: 50rpx;
            height: 50rpx;
            border: 4rpx solid #ffffff;
            border-radius: 50%;

        }

        .itemDetails {
            flex: 1;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }

        .menuButton {
            height: 100rpx;
        }

        .itemName {
            font-size: 32rpx;
            font-weight: bold;
            white-space: nowrap;
            overflow: hidden;
            max-width: 100%;
            display: inline-block;
            text-align: left;
        }

        .itemInfo {
            margin-top: 10rpx;
            font-size: 12px;
            color: #888;
            margin-bottom: 3px;
            text-align: left;
        }

        .uploadSize {
            margin-left: 30rpx;
            color: #008DFF;
            font-size: 30rpx;
        }

        .num {
            float: right;
        }

        .itemPrice {
            margin-top: 4rpx;
            margin-right: 10rpx;
            font-size: 30rpx;
            color: #FF0808;
            font-weight: bold;

            .unit {
                color: #999999;
                font-size: 24rpx;
                margin-right: 40rpx;
            }

        }

        .itemActions {
            display: flex;
            align-items: left;
        }

        :global(.nut-price) {
            vertical-align: middle;
        }

        .actionButton {
            margin: 0 5px;
            width: 30px;
            height: 30px;
            line-height: 30px;
            text-align: center;
            border-radius: 50%;
        }

        .itemQuantity {
            font-size: 14px;
            font-weight: bold;
            margin: 0 10px;
        }

        .noMore {
            position: absolute;
            bottom: -77rpx;
        }

    }

}

.itemRadio {
    position: relative;
    display: inline-block;
    width: 32rpx;
    height: 32rpx;
    border: 2rpx solid #ccc;
    border-radius: 50%;
    margin: 0rpx 20rpx 0px 0px;
    vertical-align: middle;
    box-sizing: border-box;

    .itemRadioInner {
        width: 20rpx;
        height: 20rpx;
        border: 4rpx solid #ffffff;
        // background-color: #ffffff;
        border-radius: 50%;

        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);

        &.active {
            background-color: #fd7901 !important;
        }
    }
}

.footer {
    display: flex;
    justify-content: space-between;
    align-items: right;
    padding: 10px 15px;

    vertical-align: middle;
    box-sizing: border-box;

    .selectAll {
        padding: 10rpx 0px;
        vertical-align: middle;
        font-size: 32rpx;


    }

    .totalPriceLabel {
        display: inline-block;
        padding-top: 10rpx;
        vertical-align: middle;
    }

    .totalPrice {
        margin-left: 20rpx;
        display: inline-block;
        padding-top: 10rpx;
        font-size: 16px;
        font-weight: bold;
        color: #FF0808;
        vertical-align: middle;

    }

    .checkoutButton {
        padding: 5px 20px;
        font-size: 14px;
        border-radius: 14rpx !important;
        vertical-align: middle;
        float: right;
    }
}

.sizeTableBtn {
    border: 0px;

    .icon {
        width: 28rpx;
        height: 28rpx;
        margin-right: 10rpx;
        vertical-align: middle;
    }
}

.sizeColorPopup {

    .title {
        font-size: 30rpx;
        font-weight: bold;
        padding: 0rpx 30rpx;
    }

    .sizeOptions {
        padding: 10rpx 20rpx 20rpx 20rpx;
    }

    .sizeOption {
        display: inline-block;
        width: 70rpx;
        height: 70rpx;
        text-align: center;
        line-height: 70rpx;
        border: 1px solid #ccc;
        border-radius: 4px;
        cursor: pointer;
        margin: 10rpx;

        &.selected {
            background-color: #ffffff;
            color: #fd7901;
            border-color: #fd7901;
        }
    }

    .confirmButton {
        margin: 20rpx;
        width: calc(100% - 40rpx);
        height: 80rpx;
        border-radius: 20rpx;
    }

}